Dynomotion

Group: DynoMotion Message: 8435 From: Hugh Sontag Date: 10/2/2013
Subject: X Axis Dual-motor startup
Hi Tom,

Startup of the two-motor (BLDC) X-axis gantry is not smooth, because the motors aren't in sync when they are driven to find the index on the encoder.

The two motors jump to a position based on a common value written to "Write3Ph()", and that position is likely to twist the gantry.

I'd like to figure out a way to not twist the gantry on startup, and would prefer that the startup was smooth, with the bump due to jumping to an initial position.

Do you have any suggestions to improve this?

Thanks,
Hugh

Group: DynoMotion Message: 8437 From: TK Date: 10/2/2013
Subject: Re: X Axis Dual-motor startup
Hi Hugh,

Are you phase finding the two y motors together?  Or separately?  I think you could phase find them together by calling both Write3PH at the same time. Possibly with an offset in one or the other to avoid twist. Then zero each encoder independently at its index mark. 

I suppose there is a chance that the indexes could be found on different revs. But that could be solved with logic. 


TK

On Oct 2, 2013, at 1:03 PM, Hugh Sontag <hsontag@...> wrote:

 

Hi Tom,

Startup of the two-motor (BLDC) X-axis gantry is not smooth, because the motors aren't in sync when they are driven to find the index on the encoder.

The two motors jump to a position based on a common value written to "Write3Ph()", and that position is likely to twist the gantry.

I'd like to figure out a way to not twist the gantry on startup, and would prefer that the startup was smooth, with the bump due to jumping to an initial position.

Do you have any suggestions to improve this?

Thanks,
Hugh

Group: DynoMotion Message: 8438 From: Hugh Sontag Date: 10/2/2013
Subject: Re: X Axis Dual-motor startup
Hi Tom,

I'm moving both X-axis gantry motors simultaneously, by calling Write3PH() for each axis.

The .c file is attached.

I suppose I could put an offset into Write 3PH() for one axis, although it's not clear to me what that offset should be, how I would go about measuring what it should be.

I believe the logic of "Home_Both_X_Motors_V2.c" doesn't care how many motor revolutions it takes to find the indexes on both motors.

Hugh


On Wed, Oct 2, 2013 at 4:02 PM, TK <tk@...> wrote:
 

Hi Hugh,

Are you phase finding the two y motors together?  Or separately?  I think you could phase find them together by calling both Write3PH at the same time. Possibly with an offset in one or the other to avoid twist. Then zero each encoder independently at its index mark. 

I suppose there is a chance that the indexes could be found on different revs. But that could be solved with logic. 


TK

On Oct 2, 2013, at 1:03 PM, Hugh Sontag <hsontag@...> wrote:

 

Hi Tom,

Startup of the two-motor (BLDC) X-axis gantry is not smooth, because the motors aren't in sync when they are driven to find the index on the encoder.

The two motors jump to a position based on a common value written to "Write3Ph()", and that position is likely to twist the gantry.

I'd like to figure out a way to not twist the gantry on startup, and would prefer that the startup was smooth, with the bump due to jumping to an initial position.

Do you have any suggestions to improve this?

Thanks,
Hugh


  @@attachment@@
Group: DynoMotion Message: 8439 From: Tom Kerekes Date: 10/2/2013
Subject: Re: X Axis Dual-motor startup [1 Attachment]
Hi Hugh,

I wouldn't think it would be too hard using trial and error.  Try offsets over the range -0.5 to +0.5 to find one that works.  I don't think it needs to be exact.

Actually I think the difference in commutation offset should tell you.  Convert the difference in commutation offsets to phase cycles (the units used by Write3PH()) by dividing by the counts per cycle.

Yet another method would be to simply align the motors mechanically.  Do you have a motor coupling or something that you could loosen?  Loosen it, then command both motors to the same phase angle, then tighten it.

Regards
TK

Group: DynoMotion Message: 8448 From: Hugh Sontag Date: 10/3/2013
Subject: Re: X Axis Dual-motor startup
Hi Tom,

Thanks for your suggestions. I think I'll try mechanically aligning the motors, I can get them to within one gear tooth on the pinion pretty easily. While I'm at it, I can align the indexes, too.

I may still need to offset the drive for the two motors slightly.

--> What are the units for the angle_in_cycles parameter to "Write3PH()" ? In other words, I think the start of a cycle is 0.0, but what is one cycle ? 360.0 degrees? 1.0? 2 * PI radians?

By the way, I added a loop to bring up the power applied to the motor at a constant angle over a period of 1 second, so that the motor doesn't jump to a position. It eliminates the disconcerting "bump" that occurs if the motor's coil is suddenly energized.

Thanks,
Hugh


On Wed, Oct 2, 2013 at 4:32 PM, Tom Kerekes <tk@...> wrote:
 

Hi Hugh,

I wouldn't think it would be too hard using trial and error.  Try offsets over the range -0.5 to +0.5 to find one that works.  I don't think it needs to be exact.

Actually I think the difference in commutation offset should tell you.  Convert the difference in commutation offsets to phase cycles (the units used by Write3PH()) by dividing by the counts per cycle.

Yet another method would be to simply align the motors mechanically.  Do you have a motor coupling or something that you could loosen?  Loosen it, then command both motors to the same phase angle, then tighten it.

Regards
TK

Group: DynoMotion Message: 8449 From: TK Date: 10/3/2013
Subject: Re: X Axis Dual-motor startup
Hi Hugh,

Very good. 

The angle_in_cycles parameter is in units of cycles. Where 1.0 would be a complete cycle or the equivalent of 360 degrees.

Regards
TK

On Oct 3, 2013, at 7:17 AM, Hugh Sontag <hsontag@...> wrote:

 

Hi Tom,

Thanks for your suggestions. I think I'll try mechanically aligning the motors, I can get them to within one gear tooth on the pinion pretty easily. While I'm at it, I can align the indexes, too.

I may still need to offset the drive for the two motors slightly.

--> What are the units for the angle_in_cycles parameter to "Write3PH()" ? In other words, I think the start of a cycle is 0.0, but what is one cycle ? 360.0 degrees? 1.0? 2 * PI radians?

By the way, I added a loop to bring up the power applied to the motor at a constant angle over a period of 1 second, so that the motor doesn't jump to a position. It eliminates the disconcerting "bump" that occurs if the motor's coil is suddenly energized.

Thanks,
Hugh


On Wed, Oct 2, 2013 at 4:32 PM, Tom Kerekes <tk@...> wrote:
 

Hi Hugh,

I wouldn't think it would be too hard using trial and error.  Try offsets over the range -0.5 to +0.5 to find one that works.  I don't think it needs to be exact.

Actually I think the difference in commutation offset should tell you.  Convert the difference in commutation offsets to phase cycles (the units used by Write3PH()) by dividing by the counts per cycle.

Yet another method would be to simply align the motors mechanically.  Do you have a motor coupling or something that you could loosen?  Loosen it, then command both motors to the same phase angle, then tighten it.

Regards
TK

Group: DynoMotion Message: 8498 From: az@aimele.com Date: 10/19/2013
Subject: Re: X Axis Dual-motor startup
Hugh:

A suggestion for couplings you can align is Fenner Trantorque.  They do not use keyways and they can be easily loosened and tightened with basic wrenches.

You could use hall effect commutation feedback from the motors to eliminate "looking" for the motor commutation phases. The motors will operate immediately from thier startup position so you only have to home one motor and the other will simply be a slave unless you need to adjust the gantry skew.

AZ



------- Original Message -------
From : Tom Kerekes[mailto:tk@...]
Sent : 10/2/2013 4:32:48 PM
To : DynoMotion@yahoogroups.com
Cc :
Subject : RE: Re: [DynoMotion] X Axis Dual-motor startup

 

Hi Hugh,

I wouldn't think it would be too hard using trial and error.  Try offsets over the range -0.5 to +0.5 to find one that works.  I don't think it needs to be exact.

Actually I think the difference in commutation offset should tell you.  Convert the difference in commutation offsets to phase cycles (the units used by Write3PH()) by dividing by the counts per cycle.

Yet another method would be to simply align the motors mechanically.  Do you have a motor coupling or something that you could loosen?  Loosen it, then command both motors to the same phase angle, then tighten it.

Regards
TK

Group: DynoMotion Message: 8499 From: Hugh Sontag Date: 10/19/2013
Subject: Re: X Axis Dual-motor startup
Thanks, AZ, for your suggestions. 

I don't have Hall-effect sensors on these motors, and I have the software that searches for the index pulse working well now, so I think I'll move on to other challenges.

Hugh


On Sat, Oct 19, 2013 at 9:52 AM, az@... <az@...> wrote:
 

Hugh:

A suggestion for couplings you can align is Fenner Trantorque.  They do not use keyways and they can be easily loosened and tightened with basic wrenches.

You could use hall effect commutation feedback from the motors to eliminate "looking" for the motor commutation phases. The motors will operate immediately from thier startup position so you only have to home one motor and the other will simply be a slave unless you need to adjust the gantry skew.

AZ



------- Original Message -------
From : Tom Kerekes[mailto:tk@...]
Sent : 10/2/2013 4:32:48 PM
To : DynoMotion@yahoogroups.com
Cc :
Subject : RE: Re: [DynoMotion] X Axis Dual-motor startup

 

Hi Hugh,

I wouldn't think it would be too hard using trial and error.  Try offsets over the range -0.5 to +0.5 to find one that works.  I don't think it needs to be exact.

Actually I think the difference in commutation offset should tell you.  Convert the difference in commutation offsets to phase cycles (the units used by Write3PH()) by dividing by the counts per cycle.

Yet another method would be to simply align the motors mechanically.  Do you have a motor coupling or something that you could loosen?  Loosen it, then command both motors to the same phase angle, then tighten it.

Regards
TK